Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / scripts / ci / github-verify-frozen-sandbox.sh

Displaying Raw • Download


scripts/ci/github-verify-frozen-sandbox.sh fa46dc4ce9ab50cbe66a7a9e4b3bca0140102345 (fa46dc4c) Text, 1.23 KB

T8b949e#!/usr/bin/env bash
T8b949e# Verify cx_Freeze bundles Landlock / AppContainer / Seccomp sandbox modules.
Tffa657set -euo pipefail

Te6edf3ROOTTff7b72=Ta5d6ff"Tff7b72$(Tffa657cd Ta5d6ff"Tff7b72$(dirname Ta5d6ff"Te6edf3$0Ta5d6ff"Tff7b72)Ta5d6ff/../..Ta5d6ff" Tff7b72&& Tffa657pwdTff7b72)Ta5d6ff"
Te6edf3BUILD_EXETff7b72=Ta5d6ff"Tffd700${Te6edf31Tff7b72:-Tffd700${Te6edf3ROOTTffd700}Tb4b4b4/build/exeTffd700}Ta5d6ff"

Tff7b72if Tff7b72[Tff7b72[ ! -d Ta5d6ff"Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6ffcx_Freeze output not found at Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
Tffa657exit T79c0ff1
Tff7b72fi

Tff7b72if Tff7b72[Tff7b72[ ! -d Ta5d6ff"Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff/libTa5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tff7b72for sub Tff7b72in Ta5d6ff"Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff"/*Tb4b4b4; Tff7b72do
Tff7b72if Tff7b72[Tff7b72[ -d Ta5d6ff"Tffd700${Te6edf3subTffd700}Ta5d6ff/libTa5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Te6edf3BUILD_EXETff7b72=Ta5d6ff"Tffd700${Te6edf3subTffd700}Ta5d6ff"
Tff7b72break
Tff7b72fi
Tff7b72done
Tff7b72fi

Te6edf3LIB_DIRTff7b72=Ta5d6ff"Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff/libTa5d6ff"
Te6edf3REQUIREDTff7b72=Tff7b72(
Ta5d6ff"meshchatx/src/backend/landlock_sandbox.py"
Ta5d6ff"meshchatx/src/backend/appcontainer_sandbox.py"
Ta5d6ff"meshchatx/src/backend/appcontainer_launcher.py"
Ta5d6ff"meshchatx/src/backend/seccomp_sandbox.py"
Tff7b72)

Te6edf3missingTff7b72=T79c0ff0
Tff7b72for rel Tff7b72in Ta5d6ff"Tffd700${Te6edf3REQUIREDTb4b4b4[@]Tffd700}Ta5d6ff"Tb4b4b4; Tff7b72do
Tff7b72if Tff7b72[Tff7b72[ -f Ta5d6ff"Tffd700${Te6edf3LIB_DIRTffd700}Ta5d6ff/Tffd700${Te6edf3relTffd700}Ta5d6ff" Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6fffound Tffd700${Te6edf3relTffd700}Ta5d6ff"
Tff7b72continue
Tff7b72fi
Te6edf3LIBRARY_ZIPTff7b72=Ta5d6ff"Tffd700${Te6edf3LIB_DIRTffd700}Ta5d6ff/library.zipTa5d6ff"
Tff7b72if Tff7b72[Tff7b72[ -f Ta5d6ff"Tffd700${Te6edf3LIBRARY_ZIPTffd700}Ta5d6ff" Tff7b72]Tff7b72] Tff7b72&& unzip -l Ta5d6ff"Tffd700${Te6edf3LIBRARY_ZIPTffd700}Ta5d6ff" Tb4b4b4| grep -Fq Ta5d6ff"Tffd700${Te6edf3relTffd700}Ta5d6ff"Tb4b4b4; Tff7b72then
Tffa657echo Ta5d6ff"Ta5d6fffound Tffd700${Te6edf3relTffd700}Ta5d6ff in library.zipTa5d6ff"
Tff7b72continue
Tff7b72fi
Tffa657echo Ta5d6ff"Ta5d6ffmissing sandbox module: Tffd700${Te6edf3relTffd700}Ta5d6ff" >Tb4b4b4&T79c0ff2
Te6edf3missingTff7b72=T79c0ff1
Tff7b72done

Tff7b72if Tff7b72[Tff7b72[ Ta5d6ff"Tffd700${Te6edf3missingTffd700}Ta5d6ff" -ne T79c0ff0 Tff7b72]Tff7b72]Tb4b4b4; Tff7b72then
Tffa657exit T79c0ff1
Tff7b72fi

Tffa657echo Ta5d6ff"Ta5d6ffFS sandbox modules present under Tffd700${Te6edf3BUILD_EXETffd700}Ta5d6ff"


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────